A terminal server thin client, such as provided by REMOTE DESKTOP SERVICES™ in WINDOWS SERVER™, allows a user to access applications and data running on a remote computer over a communications network. Some implementations allow a user to access the entire desktop of the remote computer running a terminal server program. The user may access the remote computer with a full computer running any operating system that the terminal server protocol supports, as well as a bare-bones computer that has enough power to support the protocol. Only the user interface (UI) of an application is presented to the user. Any user input is sent over the communications network to the remote computer, where the application processing occurs.
In the terminal server environment, all applications on a terminal server session share a single internet protocol (IP) address, or the same IP addresses where the host computer has a plurality of IP addresses. Furthermore, where there are multiple terminal server sessions running on the host computer, all of those sessions share the same IP address or addresses. However, some applications that can be run in a terminal server environment use a corresponding IP address as a way to identify or track the application. For instance, some internet service providers (IPSs) have requirements to track (e.g. duration of a session, and when that session occurs) a user when he or she is surfing the INTERNET™. Since all applications in a terminal server environment share a single IP address, it is not possible to run simultaneously multiple instances of an application that uses an IP address for identification purposes.
In light of these constraints, it would be beneficial to enable applications executing through a terminal server session to have a unique IP address.